using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WMS.WebApiRead.DTO
{
    /// <summary>
    /// 盘点信息查询结果DTO（多表联查）
    /// </summary>
    public class InventoryQueryResultDTO
    {
        /// <summary>
        /// 盘点ID
        /// </summary>
        public int InventoryId { get; set; }

        /// <summary>
        /// 盘点编号
        /// </summary>
        public string InventoryCode { get; set; }
        /// <summary>
        /// 盘点类型ID
        /// </summary>
        public int InventoryTypeId { get; set; }

        /// <summary>
        /// 盘点类型名称（联表查询得到）
        /// </summary>
        public string InventoryTypeName { get; set; }

        /// <summary>
        /// 仓库ID
        /// </summary>
        public int WarehouseId { get; set; }

        /// <summary>
        /// 仓库名称（联表查询得到）
        /// </summary>
        public string WarehouseName { get; set; }

        /// <summary>
        /// 处理人ID（经办人ID）
        /// </summary>
        public int HandlerrId { get; set; }

        /// <summary>
        /// 经办人名称（联表查询得到）
        /// </summary>
        public string HandlerName { get; set; }

        /// <summary>
        /// 部门ID（库管部门ID）
        /// </summary>
        public int? WarehouseDeptId { get; set; }

        /// <summary>
        /// 部门名称（联表查询得到）
        /// </summary>
        public string WarehouseDeptName { get; set; }

        /// <summary>
        /// 盘点时间
        /// </summary>
        public DateTime InventoryDateTime { get; set; }

        /// <summary>
        /// 结束盘点时间
        /// </summary>
        public DateTime InventoryEndTime { get; set; }

        /// <summary>
        /// 盘点内容
        /// </summary>
        public string InventoryContent { get; set; }

        /// <summary>
        /// 盘点数量
        /// </summary>
        public string? InventoryQuantity { get; set; }

        /// <summary>
        /// 盘盈数量
        /// </summary>
        public string? SurplusQuantity { get; set; }

        /// <summary>
        /// 盘亏数量
        /// </summary>
        public string? InventoryShortageQuantity { get; set; }

        /// <summary>
        /// 盘盈金额
        /// </summary>
        public string? SurplusAmount { get; set; }

        /// <summary>
        /// 盘亏金额
        /// </summary>
        public string? InventoryLossAmount { get; set; }

        /// <summary>
        /// 数据状态（1:草稿 2:已提交 3:审核中 4:已审核）
        /// </summary>
        public int DataStatus { get; set; }

        /// <summary>
        /// 制单人（创建人）
        /// </summary>
        public string? CreateName { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime? CreateTime { get; set; }

        /// <summary>
        /// 货品名称列表（从明细表中查询，多个货品名称用逗号分隔）
        /// </summary>
        public string ProductNames { get; set; }

        /// <summary>
        /// 附件数量（从附件表中统计）
        /// </summary>
        public int AttachmentCount { get; set; }

        /// <summary>
        /// 是否已删除
        /// </summary>
        public bool IsDeleted { get; set; }
    }
}

